1. Field of the Invention
The present invention relates to a method and apparatus for designing a client/server system using a distributed application executing environment, and more particularly to a method for the structuring of application programs distributed on a network and the design of application program interfaces and an apparatus for realizing such a method. (Hereinafter, the application program will be referred to simply as application.)
2. Description of the Related Art
Recently, there has been an increased trend to employ an N-layer client/server system (hereinafter abbreviated to C/S system) as an information system in an enterprise, as disclosed by "THREE-LAYER SYSTEM DESIGNING METHOD", Nikkei Open System, February 1996, pp. 234 to 247. The base of the N-layer C/S system includes a distributed application executing environment or object request broker (hereinafter abbreviated to ORB) for realizing the communication between applications distributed on a network. CORBA (Common Object Request Broker Architecture) and DCOM are known as the specifications of communication mechanism between applications or objects.
A three-layer model as a general model of the N-layer C/S system is composed of a presentation layer which performs the input/output of data, a function layer which executes a service logic, and a data base and a data layer which performs a processing for access to the data base. In the case where such a three-layer C/S system is to be structured by distributed applications, a plurality of applications are arranged in each layer. Therefore, it is required that prior to describing the contents of a processing by an application, the interface of the application should be determined while examining the structure of applications of the C/S system and a logical relation between applications.
In the conventional developing method, a developer graphically illustrates a relation between applications by use of a drawing edition tool while examining the division of a C/S system into applications and the consolidation thereof, as disclosed by "EXAMPLES OF USE OF ORB: Case of Information Technology Consortium", Computer Today, January 1997, pp. 27 to 36. The developer describes the interfaces of applications into a specification and generates an IDL (Interface Definition Language) file while examining an IDL format supported by a used ORB. The IDL file is a file for storing interface definition between applications. The developer compiles the generated IDL file by use of an IDL compiler supplied by the ORB. With this compilation, there are generated a skeleton file which includes the function of communication for its own application and a stub file which includes the function of communication for other applications communicating with the application. The developer adds the description of an application processing other than the communication into the generated skeleton file and selects a stub file of another application to be called so that both the files are compiled and linked, thereby completing one application program.
JP-A-7-182150 has disclosed a system in which an interface specification is automatically generated through the interaction with a developer in such a manner that the developer selects the type of an interface specification and the language definition corresponding to the selected type is displayed.
In the above-mentioned conventional method, since the structure of applications of the C/S system, the logical relation between applications and the interface definition are described into the specification and the IDL file is generated on the basis of the specification, there is a problem of mismatching in contents between the specification and the IDL file which may be caused from a human error. Also, since the IDL file is generated while examining the IDL format supported by the ORB, there is a problem that a long time is consumed and an error is liable to occur.
The system disclosed by the JP-A-7-182150 concerns only the generation of the interface specification of each program or application and is silent of the definition of a relation between applications.